package customer

import "time"

type Customer struct {
	AreaCategory                  string    `gorm:"column:AreaCategory" json:"AreaCategory"`                                      // 地区分类GUID(废弃)
	AreaCategoryCode              string    `gorm:"column:AreaCategoryCode" json:"AreaCategoryCode"`                              // 地区分类code
	AreaCategoryName              string    `gorm:"column:AreaCategoryName" json:"AreaCategoryName"`                              // 地区分类名称
	ClueCount                     int       `gorm:"column:ClueCount" json:"ClueCount"`                                            // 客户线索数量
	ContacterCount                int       `gorm:"column:ContacterCount" json:"ContacterCount"`                                  // 联系人数量
	CooperationStatus             int32     `gorm:"column:CooperationStatus" json:"CooperationStatus"`                            // 合作状态
	CreditCode                    string    `gorm:"column:CreditCode" json:"CreditCode"`                                          // 统一信用代码
	CustomerName                  string    `gorm:"column:CustomerName" json:"CustomerName"`                                      // 客户名称
	CustomerResponsiblePersonGUID string    `gorm:"column:CustomerResponsiblePersonGUID" json:"CustomerResponsiblePersonGUID"`    // 客户负责人GUID
	CustomerResponsiblePersonName string    `gorm:"column:CustomerResponsiblePersonName" json:"CustomerResponsiblePersonName"`    // 客户负责人名称
	ExpandWay                     int       `gorm:"column:ExpandWay" json:"ExpandWay"`                                            // 拓展方式
	ProvinceCode                  string    `gorm:"column:ProvinceCode" json:"ProvinceCode"`                                      // 省份分类code
	ProvinceName                  string    `gorm:"column:ProvinceName" json:"ProvinceName"`                                      // 省份名称
	USCC                          string    `gorm:"column:USCC" json:"USCC"`                                                      // 统一信用代码（废弃）
	CreatedGUID                   string    `gorm:"column:CreatedGUID" json:"CreatedGUID"`                                        // 创建人GUID
	CreatedName                   string    `gorm:"column:CreatedName" json:"CreatedName"`                                        // 创建人名称
	CreatedTime                   time.Time `gorm:"column:CreatedTime" json:"CreatedTime"`                                        // 创建时间
	CustomerGUID                  string    `gorm:"column:CustomerGUID;NOT NULL" json:"CustomerGUID"`                             // 客户表主键
	ModifiedGUID                  string    `gorm:"column:ModifiedGUID" json:"ModifiedGUID"`                                      // 修改人GUID
	ModifiedName                  string    `gorm:"column:ModifiedName" json:"ModifiedName"`                                      // 修改人名称
	ModifiedTime                  time.Time `gorm:"column:ModifiedTime" json:"ModifiedTime"`                                      // 修改时间
	VersionNumber                 time.Time `gorm:"column:VersionNumber;default:CURRENT_TIMESTAMP;NOT NULL" json:"VersionNumber"` // 时间戳
	BatchID                       string    `gorm:"column:BatchID" json:"BatchID"`                                                // 批次ID
	CustomerPoolGUID              string    `gorm:"column:CustomerPoolGUID" json:"CustomerPoolGUID"`                              // 客户池GUID
	IsDeleted                     int       `gorm:"column:__IsDeleted;default:0;NOT NULL" json:"__IsDeleted"`                     // 逻辑删除
}

func (p Customer) TableName() string {
	return "customer"
}

type CustomerPoolPo struct {
	AreaCategoryCode      string    `gorm:"column:AreaCategoryCode"`
	AreaCategoryName      string    `gorm:"column:AreaCategoryName"`
	AssignStatus          int32     `gorm:"column:AssignStatus"`
	CooperationStatus     int32     `gorm:"column:CooperationStatus"`
	CreditCode            string    `gorm:"column:CreditCode"`
	CustomerName          string    `gorm:"column:CustomerName"`
	ProvinceCode          string    `gorm:"column:ProvinceCode"`
	ProvinceName          string    `gorm:"column:ProvinceName"`
	CreatedGUID           string    `gorm:"column:CreatedGUID"`
	CreatedName           string    `gorm:"column:CreatedName"`
	CreatedTime           time.Time `gorm:"column:CreatedTime"`
	CustomerPoolGUID      string    `gorm:"primaryKey;column:CustomerPoolGUID"`
	ModifiedGUID          string    `gorm:"column:ModifiedGUID"`
	ModifiedName          string    `gorm:"column:ModifiedName"`
	ModifiedTime          time.Time `gorm:"column:ModifiedTime"`
	VersionNumber         time.Time `gorm:"column:VersionNumber"`
	CompanyTag            string    `gorm:"column:CompanyTag"`
	CloudDataModifiedTime time.Time `gorm:"column:CloudDataModifiedTime"`
	IsDeleted             int32     `gorm:"column:__IsDeleted"`
	Source                string    `gorm:"column:Source"`
	CustomerType          string    `gorm:"column:CustomerType"`
}

func (p CustomerPoolPo) TableName() string {
	return "customerpool"
}

type Customerpoolclouddata struct {
	CompanyLogo                 string    `gorm:"column:CompanyLogo" json:"CompanyLogo"`                                        // 企业图标
	CompanyType                 string    `gorm:"column:CompanyType" json:"CompanyType"`                                        // 企业类型
	CreditCode                  string    `gorm:"column:CreditCode" json:"CreditCode"`                                          // 信用代码
	CustomerPoolGUID            string    `gorm:"column:CustomerPoolGUID" json:"CustomerPoolGUID"`                              // 客户池ID
	DeveloperActivityLabel      string    `gorm:"column:DeveloperActivityLabel" json:"DeveloperActivityLabel"`                  // 活跃企业标签
	DeveloperTop100Label        string    `gorm:"column:DeveloperTop100Label" json:"DeveloperTop100Label"`                      // 地产百强
	HighProjectCustomersLabel   string    `gorm:"column:HighProjectCustomersLabel" json:"HighProjectCustomersLabel"`            // 高端项目客群
	IsNewAreaExpandLabel        string    `gorm:"column:IsNewAreaExpandLabel" json:"IsNewAreaExpandLabel"`                      // 新区域拓展
	IsNewDecorateExpandLabel    string    `gorm:"column:IsNewDecorateExpandLabel" json:"IsNewDecorateExpandLabel"`              // 新精装客群
	IsNewLandUsageExpandLabel   string    `gorm:"column:IsNewLandUsageExpandLabel" json:"IsNewLandUsageExpandLabel"`            // 新住宅客群
	LatestUpdateTime            time.Time `gorm:"column:LatestUpdateTime" json:"LatestUpdateTime"`                              // 上次更新实践
	CreatedGUID                 string    `gorm:"column:CreatedGUID" json:"CreatedGUID"`                                        // 创建人GUID
	CreatedName                 string    `gorm:"column:CreatedName" json:"CreatedName"`                                        // 创建人名称
	CreatedTime                 time.Time `gorm:"column:CreatedTime" json:"CreatedTime"`                                        // 创建时间
	CustomerPoolCloudDataGUID   string    `gorm:"column:CustomerPoolCloudDataGUID;NOT NULL" json:"CustomerPoolCloudDataGUID"`   // 客户云数据主键
	ModifiedGUID                string    `gorm:"column:ModifiedGUID" json:"ModifiedGUID"`                                      // 修改人GUID
	ModifiedName                string    `gorm:"column:ModifiedName" json:"ModifiedName"`                                      // 修改人名称
	ModifiedTime                time.Time `gorm:"column:ModifiedTime" json:"ModifiedTime"`                                      // 修改时间
	VersionNumber               time.Time `gorm:"column:VersionNumber;default:CURRENT_TIMESTAMP;NOT NULL" json:"VersionNumber"` // 时间戳
	CustomerName                string    `gorm:"column:CustomerName" json:"CustomerName"`                                      // 客户名称
	IsYcgCertification          string    `gorm:"column:IsYcgCertification" json:"IsYcgCertification"`                          // 是否云采购平台认证开发商
	IsYcgOfflineBusinessConnect string    `gorm:"column:IsYcgOfflineBusinessConnect" json:"IsYcgOfflineBusinessConnect"`        // 是否云采购平台参加过供需对接会
}

func (c Customerpoolclouddata) TableName() string {
	return "customerpoolclouddata"
}

type GfyxCustomerPoolImportPo struct {
	Id int32 `gorm:"primary_key"`
	// 导入文件的uid
	FileUid string
	// 公司名
	CompanyName string
	// 合作状态
	CooperationStatus string
	// 负责人姓名
	ChargePerson string
	// 导入状态，1-成功，2-失败
	Status int32
	// 备注
	Remark string
	//创建时间
	CreatedAt time.Time
	//创建者
	CreatedBy string
	//修改时间
	UpdatedAt time.Time
	//修改者
	UpdatedBy string
	//是否删除 1:正常 2:已删除
	IsDeleted int32
}

func (p GfyxCustomerPoolImportPo) TableName() string {
	return "gfyx_customer_pool_import"
}

// GfyxCluefeed 客户动态
type GfyxCluefeedPo struct {
	City string `json:"City" gorm:"City"` // 所在城市
	Citycode string `json:"CityCode" gorm:"CityCode"` // 所在城市Code
	Companytypelabel string `json:"CompanyTypeLabel" gorm:"CompanyTypeLabel"` // 开发商企业类型
	Developername string `json:"DeveloperName" gorm:"DeveloperName"` // 企业名称
	Feedcreatedtime time.Time `json:"FeedCreatedTime" gorm:"FeedCreatedTime"` // 动态记录时间
	Feedid string `json:"FeedID" gorm:"FeedID"` // 特定动态唯一ID
	Feedtime time.Time `json:"FeedTime" gorm:"FeedTime"` // 动态发生时间
	Feedtitle string `json:"FeedTitle" gorm:"FeedTitle"` // 动态名称
	Feedtype string `json:"FeedType" gorm:"FeedType"` // 动态类型
	Feeduid string `json:"FeedUID" gorm:"FeedUID"` // 用户动态唯一ID
	Organizingcode string `json:"OrganizingCode" gorm:"OrganizingCode"` // 统一社会信用代码
	Province string `json:"Province" gorm:"Province"` // 所在省份
	Provincecode string `json:"ProvinceCode" gorm:"ProvinceCode"` // 所在省份Code
	Receiverguid string `json:"ReceiverGUID" gorm:"ReceiverGUID"` // 接收人
	Relateddevelopername string `json:"RelatedDeveloperName" gorm:"RelatedDeveloperName"` // 相关企业名称
	Relatedorganizingcode string `json:"RelatedOrganizingCode" gorm:"RelatedOrganizingCode"` // 相关企业统一社会信用代码
	Cluefeedguid string `json:"ClueFeedGUID" gorm:"ClueFeedGUID"` // 客户动态主键
	Createdguid string `json:"CreatedGUID" gorm:"CreatedGUID"` // 创建人GUID
	Createdname string `json:"CreatedName" gorm:"CreatedName"` // 创建人名称
	Createdtime time.Time `json:"CreatedTime" gorm:"CreatedTime"` // 创建时间
	Modifiedguid string `json:"ModifiedGUID" gorm:"ModifiedGUID"` // 修改人GUID
	Modifiedname string `json:"ModifiedName" gorm:"ModifiedName"` // 修改人名称
	Modifiedtime time.Time `json:"ModifiedTime" gorm:"ModifiedTime"` // 修改时间
	Versionnumber time.Time `json:"VersionNumber" gorm:"VersionNumber"` // 时间戳
}

// TableName 表名称
func (p GfyxCluefeedPo) TableName() string {
	return "gfyx_cluefeed"
}